package cn.org.xuanguang.kepler.hormos.rdb.util;//package cn.org.xuanguang.kepler.hormos.rdb.util;
//
//import cn.org.xuanguang.hormos.core.meta.FeatureSupportedMetadata;
//import cn.org.xuanguang.hormos.rdb.operator.ExceptionTranslation;
//import lombok.SneakyThrows;
//
//import java.util.function.Supplier;
//
//public class ExceptionUtils {
//
//    public static Throwable translation(FeatureSupportedMetadata metadata, Throwable e) {
//        return metadata.findFeature(ExceptionTranslation.ID)
//                .map(trans -> trans.translate(e))
//                .orElse(e);
//    }
//
//    @SneakyThrows
//    public static <T> T translation(Supplier<T> supplier, FeatureSupportedMetadata metadata) {
//        try {
//            return supplier.get();
//        } catch (Throwable r) {
//            throw translation(metadata, r);
//        }
//    }
//}
